package com.yiqi.zhiyuan.feature.mine.contract;

import com.suozhang.framework.framework.BasePresenter;
import com.suozhang.framework.framework.BaseView;
import com.yiqi.zhiyuan.entity.dto.FeedbackDTO;
import com.yiqi.zhiyuan.entity.vo.FileVO;

import java.util.List;

import io.reactivex.Observable;

/**
 * @ProjectName: ZhiYuan
 * @Description: java类作用描述
 * @Author: lijuwen
 * @CreateDate: 2019/4/12 17:40
 * @UpdateUser: 更新者
 * @UpdateDate: 2019/4/12 17:40
 * @UpdateRemark: 更新说明
 * @Version: 1.0
 */
public interface FeedbackContract {

    interface Model {
        /**
         * 上传图片
         *
         * @param
         * @return
         */
        Observable<FileVO> doUploadImage(String imageUrl);

        /**
         * 意见反馈
         *
         * @param
         * @return
         */
        Observable<String> doFeedback(FeedbackDTO feedbackDTO);

        /**
         * 修改头像
         *
         * @param
         * @return
         */
        Observable<FileVO> doUpdateAvatar(String avatarUrl);


    }

    interface View extends BaseView {

        /**
         * 上传图片成功
         *
         * @param
         */
        void showUploadImageSuccess(String imageUrl);

        /**
         * 上传图片失败
         *
         * @param
         */
        void showUploadImageError(String errorMsg);


        /**
         * 已经反馈提交成功
         *
         * @param
         */
        void showFeedbackSuccess();

        /**
         * 经反馈提交失败
         *
         * @param errorMsg
         */
        void showFeedbackError(String errorMsg);


    }

    interface Presenter extends BasePresenter {
        /**
         * 上传图片
         *
         * @param
         * @return
         */
        void uploadImage(String imageUrl);

        /**
         * 意见反馈
         *
         * @param
         * @return
         */
        void doFeedback(String content, String phone, List<String> imgs);

        /*
        * 修改头像
        * **/

        void updateAvatar(String avatarUrl);
    }
}
